<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
 // 题目如下，请直接利用写好的方法，并且直接写在题目下方，要可以运行和输出，如第1题所示
        /*
        1、题目描述：
        找出元素 item 在给定数组 arr 中的位置
        输出描述:
        如果数组中存在 item，则返回元素在数组中的位置，否则返回 -1
        示例1  indexOf
        输入
        [ 1, 2, 3, 4,3 ], 3
        输出
        2
        function indexOf(arr, item) {
        
        }
        */
    //     console.log(`======= 第1题 =======`);
    //     function indexOf(arr, item) {
    //         for (var i = 0; i < arr.length; i++) {
    //             if (arr[i]===item) {
    //                 return i
    //             }   
    //         }
    //         return -1
    // }
    // var arr1 =  [ 1, 2, 3, 4 ,3]
    // console.log(indexOf(arr1,3));   
        /*
        2、题目描述：
        计算给定数组 arr 中所有元素的总和 reduce() every()(some()) map() filter() forEach()
        输入描述:
        数组中的元素均为 Number 类型
        示例1
        输入
        
        [ 1, 2, 3, 4 ]
        输出
        
        10
        
        function sum(arr) {
        
        }
        */
        console.log(`======= 第2题 =======`);
        //forEach遍历
    //     function sum(arr) {
    //         var result = 0;
    //         arr.forEach(function(item,index) {
    //             result += item; 
    //         });  
    //         return result;
    // };
    //      var arr1 =  [ 1, 2, 3, 4 ]
    //      console.log(sum(arr1)); 
        /*
        3、题目描述
        在数组 arr 末尾添加元素 item。不要直接修改数组 arr，结果返回新的数组
        示例1
        输入
        
        [1, 2, 3, 4],0  1
        输出
        
        [1, 2, 3, 4, 10]
        
        function append(arr, item) {
            
        }
        */
        console.log(`======= 第3题 =======`);

        // function append (arr,item){
        //     var arr1 = arr.slice(0);
        //     arr1.push(item);
        //     return arr1
        // }
        // var arr1 =  [ 1, 2, 3, 4 ]
        // console.log(append(arr1,10));
        
        
        /*
        4、题目描述
        合并数组 arr1 和数组 arr2。不要直接修改数组 arr，结果返回新的数组
        示例1
        输入
        
        [1, 2, 3, 4], ['a', 'b', 'c', 1]
        输出
        
        [1, 2, 3, 4, 'a', 'b', 'c', 1]
        
        function concat(arr1, arr2) {
        
        }
        */
        // console.log(`======= 第4题 =======`);
        // function concat(arr1,arr2) {
        //     var arr = arr1.slice(0)
        //     arr = arr2.concat(arr2)
        //     return arr
        // }
        // var arrea = [1,2,3,4];
        // var arrea1 = ['a', 'b', 'c', 1]
        // console.log(concat(arrea,arrea1));
        /*
        5、题目描述
        为数组 arr 中的每个元素求二次方。不要直接修改数组 arr，结果返回新的数组
        示例1
        输入
        
        [1, 2, 3, 4]
        输出
        
        [1, 4, 9, 16]
        
        function square(arr) {
        
        }
        */
        // console.log(`======= 第5题 =======`);
        // function square(arr) {
        // let newArr = [...arr]
        // return newArr.map(item=>
        // Math.pow(item,2)
        // )
        // }
        // var arrsp = [1, 2, 3, 4]
        // console.log(square(arrsp));

    </script>
</body>
</html>